// 顶层模块：整合二进制转BCD和七段数码管显示
module top_bin2bcd_display #(
    parameter N = 8  // 可变位宽参数
)(
    input clk,
    input rst_n,
    input [N-1:0] binary_data,
    output [7:0] a_to_g,
    output [3:0] an,
    output convert_done
);

    wire [19:0] bcd_result;
    wire done_signal;
    
    // 实例化二进制转BCD模块
    bin2bcd #(.N(N)) u_bin2bcd 
    (
        .clk(clk),
        .rst_n(rst_n),
        .binary_in(binary_data),
        .bcd_out(bcd_result),
        .done(done_signal)
    );
    
    // 实例化七段数码管驱动
    x7seg u_x7seg 
    (
        .x(bcd_result[15:0]),  // 只显示低4位BCD（万位到个位）
        .clk(clk),
        .clr_n(rst_n),
        .a_to_g(a_to_g),
        .an(an)
    );
    
    assign convert_done = done_signal;

endmodule